class HumanHelper(object):
    @classmethod
    def format_int_number(cls, int_number):
        return "{:,}".format(int_number)

    @classmethod
    def format_byte_number(cls, byte_number):
        if byte_number > 1024 * 1024 * 1024:
            return str(round(int(byte_number) / 1024.0 / 1024.0 / 1024.0, 2)) + "GB"
        elif byte_number > 1024 * 1024:
            return str(round(int(byte_number) / 1024.0 / 1024.0, 2)) + "MB"
        elif byte_number > 1024:
            return str(round(int(byte_number) / 1024.0 / 1024.0, 2)) + "KB"
        else:
            return str(byte_number) + "B"

    @classmethod
    def convert_second_number(cls, second_number: int):
        days, remainder_seconds = divmod(second_number, 3600 * 24)
        hours, remainder_seconds = divmod(remainder_seconds, 3600)
        minutes, seconds = divmod(remainder_seconds, 60)
        if days > 0:
            return "{}天{}小时{}分{}秒".format(days, hours, minutes, seconds)
        elif hours > 0:
            return "{}小时{}分{}秒".format(hours, minutes, seconds)
        elif minutes > 0:
            return "{}分{}秒".format(minutes, seconds)
        else:
            return "{}秒".format(minutes, seconds)
